<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var strs="wAealcAome";
       
       /*  
        /匹配模式/属性
        i:ignoreCase忽略大小写
        g:global 全局匹配
        m:multiline 多行匹配 
      */

        //使用字面量的方式定义正则表达式 /pattern/attribute
        var reg=/a/ig;//判断一个字符串中是否包含a字符

        //使用构造函数的方式定义正则表达式 new RegExp(pattern,attribute);
        var reg2=new RegExp("a","ig");

        //属性
        // console.log(reg.ignoreCase);//是否忽略大小写
        // console.log(reg.global);//是否忽略大小写
        // console.log(reg.multiline);//是否多行匹配

        //方法
        // console.log(reg.test(strs));//测试方法，用于测试字符串是否符合正则表达式对象所指定的模式规则，返回true或false
        // console.log(reg.exec(strs));//搜索方法，用于在字符串中查找符合正则表达式对象所指定的模式的子字符串，返回找到的结果，若找不到则返回null
        // console.log(reg.lastIndex);//下一次匹配字符的索引位置
        // console.log(reg.exec(strs));
        // console.log(reg.lastIndex);
        // console.log(reg.exec(strs));
        // console.log(reg.lastIndex);
        // console.log(reg.exec(strs));//如果搜索不到，返回null


        while(true){
            var result=reg.exec(strs);
            if(result!=null){
                console.log(result);
                console.log(reg.lastIndex);
            }else{
                break;
            }

        }
    /* 
        /pattern/attribute
        pattern 表示匹配模式，用于指定匹配规则，由元字符、量词、特殊符号组成
        元字符：具有特殊含义的字符
        量词：指定字符出现的次数
        特殊符号：具有特殊含义的符号

        attribute 表示匹配特征，取值：i 忽略大小写、g 全局匹配、m 多行匹配

    */  

        var reg1=/\d/;//判断是否包含数字
        var reg2=/[0-9]/;//判断是否包含数字
        var reg3=/^\d$/;//判断是否是一个数字
        var reg3=/^\d{3}$/;//判断是否是一个三位数
        var reg4=/^\d{2,4}$/;//判断是否是一个二位到四位的数
        var reg5=/[a-zA-Z]/;//判断是否包含字母
        var reg6=/[a-z]/i;//判断是否包含字母
        var reg7=/^[a-zA-Z]$/;//判断是否是一个字母
        var reg8=/^[A|B]$/;//要么是A，要么是B，要么是|
        var reg9=/\./;//判断是否包含.号，由于.号有特殊含义，必须使用反斜杠进行转义或者放在[]中
        var reg10=/^\w{2}\d{3}$/;//前2位可以是数字字母下划线，后三位是纯数字
        var reg11=/^[\u4E00-\u9FA5]{3}$/;//判断是否是3个中文
        console.log(reg11.test("哈哈哈"));

     
    </script>
</head>
<body>
    
</body>
</html>